namespace Kannon.Core
{
    public abstract class KannonMiddleware : IKannonHandler
    {
        protected IKannonHandler Application 
        { get; private set; }

        protected KannonMiddleware()
        {
        }

        public virtual void AttachTo(IKannonHandler application)
        {
            Application = application;
        }

        public abstract KannonResponse Handle(KannonRequest request);
    }
}